package com.xxxy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xxxy.model.TeacherReviewed;
import com.xxxy.response.*;

import java.util.List;

/**
 * @author StevenShen
 * @date 2022/3/12 11:45
 */
public interface TeacherReviewedService extends IService<TeacherReviewed> {

    /**
     * 获取待批阅考卷
     *
     * @param teacherAccount
     * @return
     */
    List<ReviewedPaperListResponse> getReviewedList(String teacherAccount);

    /**
     * 获取样卷题目
     *
     * @param examinationPaperId
     * @param questionIndex
     * @return
     */
    ExamplePaperTeacherResponse getExampleQuestion(Integer examinationPaperId, Integer questionIndex);

    /**
     * 获取批阅试题
     *
     * @param examinationPaperId
     * @param questionIndex
     * @return
     */
    ReviewedQuestionResponse getReviewedQuestion(Integer examinationPaperId, Integer questionIndex);

    /**
     * 打分
     *
     * @param reviewedId
     * @param questionIndex
     * @param score
     * @return
     */
    Boolean setScore(Integer reviewedId, Integer questionIndex, Double score, String teacherAccount);

    /**
     * 获取教师批阅进度
     *
     * @param examinationPaperId
     * @param questionIndex
     * @return
     */
    List<TeacherProgressResponse> getTeacherProgress(Integer examinationPaperId, Integer questionIndex);

    /**
     * 教师获取试卷批阅进度
     *
     * @param examinationPaperId
     * @param teacherAccount
     * @return
     */
    TeacherPaperProgressResponse getPaperProgress(Integer examinationPaperId, String teacherAccount);

    /**
     * 教师获取试题批阅进度
     *
     * @param examinationPaperId
     * @param teacherAccount
     * @return
     */
    ReviewedPaperProgressResponse getQuestionProgress(Integer examinationPaperId, String teacherAccount);

    /**
     * 教师获取批阅试题列表
     *
     * @param examinationPaperId
     * @param teacherAccount
     * @return
     */
    List<ReviewedQuestionListResponse> getQuestionList(Integer examinationPaperId, String teacherAccount);
}
